package StudyCode.summary.mycollection;

import java.util.Collection;
import java.util.Collections;
import java.util.SortedMap;

/**
 * 版权所有 科技与人文(www.tah1986.com)
 */
public class GetSortedValueArrayFromSortedMap {
	@SuppressWarnings("unchecked")
	public static <T, U> U[] getSortedValueArray(SortedMap<T, U> m,
	                                             Class<U> clazz) {
		if (m == null || m.size() == 0) {
			U[] a = (U[]) java.lang.reflect.Array.newInstance(clazz, 0);
			return Collections.<U>emptyList().toArray(a);
		} else {
			U[] a = (U[]) java.lang.reflect.Array.newInstance(clazz,
					m.size());
			return m.values().toArray(a);
		}
	}

	public static <T> int size(Collection<T> list) {
		if (list == null) {
			return 0;
		}
		return list.size();
	}

	@SuppressWarnings("unchecked")
	public static <T> T[] toArray(Collection<T> c, Class<T> clazz) {
		if (c == null || c.size() == 0) {
			T[] a = (T[]) java.lang.reflect.Array.newInstance(clazz, 0);
			return Collections.<T>emptyList().toArray(a);
		} else {
			T[] a = (T[]) java.lang.reflect.Array.newInstance(clazz,
					c.size());
			return c.toArray(a);
		}
	}
}
